<?php

/*
 * 注册树模式(注册模式,注册器模式)
 * 注册树模式通过将对象实例注册到一颗全局的对象树上,需要的时候从对象树上采摘
 * 和果树不同的是,果子只能采摘一次,而注册树上的实例却可以无数次采摘
 * 
 */

namespace IMooc;

class Register {

    //全局树,因为需要树上有很多果实,所以可以把全局树当成一个数组使用
    private static $_property;

    //将对象实例注册到全局的树上,给需要注册到树上的对象实例起个别名
    static function set($alias, $object)
    {
        self::$_property[$alias] = $object;
    }

    //通过别名,从全局的注册树上取得对象实例
    static function get($alias)
    {
        return self::$_property[$alias];
    }

    //通过别名,将对象实例从注册树上移除
    static function _unset()
    {
        unset(self::$_property[$alias]);
    }

}
